Why did we move from punch cards to programming languages? What does that tell about the purpose of programming languages?

The combination of lower-cost magnetic disk storage, and the affordable interactive terminals on less expensive microcomputers led to it being replaced by programming languages. Not to mention it is also because programmers, when using punch cards a time-consuming process. Thus, as computer language became more sophisticated, higher-level programming languages like basic, Fortran, Cobol and C emerged. The efficiency and accessibility Not to mention punch cards were difficult to use due to their constrained data capacity too. After all those pros, we can tell the purpose of creating a computer language: to increase efficiency and upgrade

There are hundreds of different programming languages out there. Why do you think we need so many?

In the most vague terms, different problems require different tools to solve them and just as the concept of tools; some specific problems need specific solutions in specific languages. For instance, Python prompts machine learning to build websites and software testing, C++ is most commonly used for game creation etc. In a nutshell, every programming language has features that are specific to it that come in handy according to the task at hand.

What are some drawbacks of a programming language you use? How would you like it to be different? Think of specific examples.

The programming language I currently use is Python. Python has a lot of drawbacks, for instance, it is very slow when it comes to execution compared to other languages such as Java and C++. As well as that, Python, also in relativity with other programming languages, use up more memory storage. I would've said that Python would be much better with a faster execution speed, however, at the cost of the speed and storage, the language is very easy to use, understand and comprehend

If you were going to create a new programming language, how would you start? What do you need to define?

From a high perspective, creating a programming language involves 3 main steps. The first is defining the grammar/syntax that will be used in your language. Second, it is essential to build the front-end compiler for the source code as well as, the last step, building the back-end code generator. In terms of theory though, I will have to define the intent behind creating a new programming language and will have to choose whether my language compiles commands or rather interprets them. As well as that, I will have to implement the grammar rules I defined in the language and then would have to create more libraries to access distinct groups of values for example.

resources: